﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp3
{
    //1、编写程序，定义一个枚举类型，表示订单的状态值：
    //新订单、已发货、已签收、已评价；声明一个枚举类型表示某个订单的状态并将其值输出。
    enum orderStatus
    {
        新订单,
        已发货,
        已签收,
        已评价
    }
    //2、有一款叫做“切水果”的游戏，里面有各种各样的水果，A、现在请定义一个叫做“Fruit”的枚举类型，
    //里面有：香蕉、苹果、西瓜、草莓、葡萄、哈密瓜、奇异果。B、然后定义一个输出水果分数的方法，
    //参数类型就是这个水果枚举，方法中根据不同的枚举值，输出水果对应的分数（可以参考切水果游戏）。
    //注：水果形状越小，切到的时候分数就越高
    enum Fruit 
    {
        香蕉,
        苹果,
        西瓜,
        草莓,
        葡萄,
        哈密瓜,
        奇异果
    }
    //
    enum career
    {
        战士,
        法师,
        精灵
    }


    class Program
    {
        static void Main(string[] args)
        {
            //静态方法作业1
            StringUtil.Character("null");
            StringUtil.Character("");
            StringUtil.Character("   ");
            StringUtil.Character("faleafaf1545");
            Console.WriteLine();

            //静态方法作业1
            string[] arrLen0 = new string[0];
            string[] arrNull = { "null" };
            string[] arrStr = { "1" };
            Console.WriteLine("数组长度为0时，方法返回的值：" + ArrayUtil.Array(arrLen0));
            Console.WriteLine("数组为null，方法返回的值：" + ArrayUtil.Array(arrNull));
            Console.WriteLine("数组不为空，，方法返回的值：" + ArrayUtil.Array(arrStr));
            Console.WriteLine();

            //静态字段作业
            Student stu1 = new Student("孙悟空");
            Student stu2 = new Student("猪八戒");
            Student stu3 = new Student("沙和尚");
            Student stu4 = new Student("白龙马");

            stu1.SelfIntroduction();
            stu2.SelfIntroduction();
            stu3.SelfIntroduction();
            stu4.SelfIntroduction();

            Student.ShiftTeacher();
            stu1.SelfIntroduction();
            stu2.SelfIntroduction();
            stu3.SelfIntroduction();
            stu4.SelfIntroduction();

            //枚举作业1
            Console.WriteLine();
            orderStatus order = orderStatus.已发货;
            Console.WriteLine(order);
            Console.WriteLine();

            //枚举作业2
            Console.WriteLine("当水果为草莓时，方法返回的值:" + Program.Enum2(Fruit.草莓));
            Console.WriteLine("当水果为西瓜时，方法返回的值:" + Program.Enum2(Fruit.西瓜));
            Console.WriteLine();

            //枚举作业3
            Program.Enum3(career.战士);
            Program.Enum3(career.法师);
            Program.Enum3(career.精灵);
        }
        static int Enum2(Fruit fruit)
        {
            int score = (int)fruit;

            return score;
        }
        static void Enum3(career career)
        {
            switch (career)
            {
                case career.战士:
                    Console.WriteLine("战士的技能：碎石打击、烈焰锚钩、战斗咆哮");
                    break;
                case career.法师:
                    Console.WriteLine("法师的技能：巨浪冲击、元素突击、复仇杀戮");
                    break;
                case career.精灵:
                    Console.WriteLine("减速陷阱、能量浪潮、旋风剑舞");
                    break;
                default:
                    break;
            }
        }
    }
}
